<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>正在认证用户信息……</title>
    <!-- axios -->
    <script src="./js/axios.min.js"></script>
    <!-- vue -->
    <script src="./js/vue.js"></script>
</head>

<body>
    <div id="root">
        获取token并保存到浏览器内部存储，从而可以在handler.html中得到token，
        因此该页面和hadler.html需要位于同一服务器
    </div>

    <script>
        let interface_ip_port = "http://111.17.201.197:999";
        let page_ip_port = "http://111.17.201.197:55000";
        new Vue({
            el: '#root',
            data: {
                code: "",
            },
            methods: {
                //获取url中的名为key的参数
                getParams(key) {
                    let reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)");
                    let r = window.location.search.substr(1).match(reg);
                    if (r != null) {
                        return unescape(r[2]);
                    }
                    return null;
                },
                //通过微信认证时的code获取token
                getTokenByCode() {
                    axios.get(`${interface_ip_port}/sys/wx/token`, {
                        params: {
                            "code": this.code
                        }
                    })
                        .then(res => {
                            console.log(res);
                            if (res.data.success) {
                                //请求成功后保存token
                                localStorage.setItem("zhqh-pro-token", JSON.stringify(res.data.result.token));
                                //alert("验证成功，请再次点击消息办理！")
                                //保存token后就可以返回上一个页面了
                                this.clickA(`${page_ip_port}/wechat/handler.html`);
                            } else {
                                alert(res.data.message);
                            }

                        })
                        .catch(error => {
                            console.log(error);
                            alert("请求出错，请重试！");
                        });
                },
                //创建a标签并模拟点击事件
                clickA(url) {
                    if (this.isEmpty(url)) {
                        alert("参数错误");
                        return;
                    }
                    let a = document.createElement("a");
                    a.style.display = "none";
                    a.href = url;
                    document.body.appendChild(a);
                    //点击
                    a.click();
                    // 下载完成移除元素
                    document.body.removeChild(a);
                },
                //判空,是否为空，是空就返回真
                isEmpty(data) {
                    if (data != null && data != "" && data != undefined) {
                        return false;
                    }
                    return true;
                }
            },
            mounted() {
                //从url中获取code
                this.code = this.getParams("code");
                console.log("微信code====>", this.code);
                //获取token保存到loaclStorage
                this.getTokenByCode();
            }
        });
    </script>
</body>

</html>